

declare namespace  Service {
  /** 请求错误 */
  interface RequestError {
    /** 请求服务的错误类型 */
    type: RequestErrorType;
    /** 错误码 */
    code: string | number;
    /** 错误信息 */
    msg: string;
  }

  type RequestErrorType = 'axios' | 'http' | 'backend';

  /** 自定义的请求成功结果 */
interface SuccessResult<T = any> {
  /** 请求错误 */
  error: null;
  /** 请求数据 */
  data: T;
  code: number;
}

/** 自定义的请求失败结果 */
interface FailedResult {
  /** 请求错误 */
  error: RequestError;
  /** 请求数据 */
  data: null;
}

/** 自定义的请求结果 */
type RequestResult<T = any> = SuccessResult<T> | FailedResult;

 interface ListResult<T> {
   list: T,
   total: number
 }
}
